/**
 *   171. Excel 表列序号
 */

class Solution1 {
    public int titleToNumber(String columnTitle) {
        char[] ch = columnTitle.toCharArray();
        int ans = 0;
        for (int i = 0;i<ch.length;i++){
            ans = ans*26 + (ch[i] - 'A'+1);
        }
        return ans;
    }
}

/**
 * 191. 位1的个数
 */
class Solution2 {
    // you need treat n as an unsigned value
    public int reverseBits(int n) {
        //00000000000000000000000000001011
        //开头是0 代表8进制数
        //整形存储以10进制数
        int ans = 0;
        //如果某一位是 1 的话，则将答案相应的对称位置修改为 1
        for (int i = 0;i<32;i++){
            if(((n>>i)&1) == 1){
                ans |= (1<<(31-i));
            }
        }
        return ans;
    }
}